package dltec.demo;

import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;

/**
 
	 3Calendar:日历类
	 
	      是一个抽象类，用于获取日期相关数据的
	  
	  静态常量：
	  		Calendar.YEAR	年
	  		Calendar.MONDY	月  从0开始 需要+1
	  		Calendar.DAY	日
	  		Calendar.DAY_OF_WEEK)-1		星期  默认是美国周日是其实需要-1
	
	常用方法：
			get()	获取
			set()	设定
			add()	增加/减少（+ -）
			getTime()	Calendar ----> String
			setTime()	String -----> Calendar
    
*/
public class demo03 {


public static void main(String[] args) {
		
		// 创建Calendar对象
		//Calendar是抽象类不能自己创建对象，可以使用静态方法获取一个返回值
		Calendar calendar = Calendar.getInstance();
		
		//Calendar calendar2 = new GregorianCalendar();

		
		//分别获取年月日时分秒等信息
		System.out.println("年:" + calendar.get(Calendar.YEAR));
		System.out.println("月：" + (calendar.get(Calendar.MONTH) + 1));//月份从0开始
		System.out.println("日:" + calendar.get(Calendar.DATE));
		System.out.println("星期:" + (calendar.get(Calendar.DAY_OF_WEEK)-1));//星期-1操作
	
	   //使用日期进行计算
		calendar.add(Calendar.YEAR, 3);
		System.out.println("年:" + calendar.get(Calendar.YEAR));
		
		calendar.add(Calendar.DATE, -3);
		System.out.println("日:" + calendar.get(Calendar.DATE));
		
	   //分别指定年月日时分秒等信息
		calendar.set(Calendar.YEAR, 2022);
		calendar.set(Calendar.MONTH, 10);
		calendar.set(Calendar.DATE, 5);
		calendar.set(2020,10,15);
		
		System.out.println("年:" +calendar.get(Calendar.YEAR));
		//指定的月份不用+1
		System.out.println("月：" + (calendar.get(Calendar.MONTH)));
		System.out.println("日:" + calendar.get(Calendar.DATE));
		
		/**
		 * Calendar -----> Date  Calendar类中getTime（）方法
		 */
		Date time = calendar.getTime();
		System.out.println(time);
		
		/**
		 * Date -----> Calendar  Calendar类中setTime（）方法
		 */
		//没有返回值
		calendar.setTime(time); 
		System.out.println("年:" +calendar.get(Calendar.YEAR));
		//指定的月份不用+1
		System.out.println("月：" + (calendar.get(Calendar.MONTH)));
		System.out.println("日:" + calendar.get(Calendar.DATE));
		
		
		
	}
}
